Регистрация...

Eserv Forum / E3 / Eserv 3 Mail Server Support / По работе MContent

imported // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Новости
12.10.2009
Переезд завершен
Должна ли работать вот такая конструкция?

MAILFROM MCONTENT[ReplHeaderFile] IsInFile | S'{FIELD2}' S" From" CHAR R 0 CHAR B MessageChangeHeader

Если в ReplHeaderFile.txt

E-Mail;FromHeader; test@test.ru;"Vasia" <vasia@test2.ru>;
 
Комментарии к этой версии (16.03.2009 23:57) [~TriX] 68d623c4
АвторДатаТекстtags
pig17.03.2009 01:20
Вот это вот однозначно неверно:
S'{FIELD2}'

Достаточно просто:
FIELD2


Вызывает сомнение:
MCONTENT[ReplHeaderFile]

Это подразумевает, что в Eserv3.ini в секции [MContent] присутствует параметр ReplHeaderFile, который ссылается на список.Если так и задумано, то тут всё верно.

Ещё вот это неверно:
"Vasia" <vasia@test2.ru>

Если первый символ в поле кавычка, то считается, что закавычено всё поле, поэтому разбор будет идти до следующей кавычки, и в From: подставится только Vasia. Придётся без кавычек. Или, как вариант:
{''}Vasia{''} <vasia@test2.ru>
и раскрывать макросы в поле:
FIELD2 S@
imported
TriX17.03.2009 17:15
ТЕ вот так должна строка выглядеть?

MAILFROM MCONTENT[ReplHeaderFile] IsInFile | FIELD2 S@ S" From" CHAR R 0 CHAR B MessageChangeHeader

а в файле ReplHeaderFile:

E-Mail;FromHeader; test@test.ru;{}Vasia{} <vasia@test2.ru>;

в фигурных скобках по 2 одинарные кавычки, а не по одной двойной?

в Eserv3.ini в секции [MContent] присутствует параметр ReplHeaderFile, который ссылается на список....
imported
pig17.03.2009 18:17
Да, в фигурных скобках двойные апострофы. Строка правильная.
imported
TriX18.03.2009 12:00
Тогда еще дин маленький вопрос.

Получили письмо с внутреннего сервера, подменили поле From (при необходимости и поле Reply-To и далее на отправку наружу. Но при передаче внешним серверам smtpsend возьмет отправителя из имени файла письма, а поскольку сейчас многие сервера почтовые проверяют существование адреса и с левым адресом почту не принимают, то письмо не уйдет.

Появляется еще и задача изменить имя файла письма, чтоб отправлялось письмо от имени существующего адреса. В каком месте и как можно подменить имя письма для отправки?
imported
pig18.03.2009 14:15
А здесь тольо сам MAILFROM менять, он используется для генерации имени файла в очереди исходящих.
S" vasia@test2.ru" $MAILFROM S!

Можете в третье поле списка чистый адрес поместить.

Если пользуете PigMail, то можно использовать возможности плагина smtpsend, там предусмотрена подмена адреса отправителя.
imported
TriX18.03.2009 15:31
Прямо в CustomMContent.rules вставлять
ТЕ.
Запись принимает вид:

MAILFROM MCONTENT[ReplHeaderFile] IsInFile
    [IF]
FIELD2 S@ S" From" CHAR R 0 CHAR B MessageChangeHeader
FIELD3 $MAILFROM S!
    [THEN]

А в файле ReplHeaderFile.txt

E-Mail;FromHeader;NewAddress test@test.ru;"Vasia" <vasia@test2.ru>;vasia@test2.ruж
imported
pig18.03.2009 16:53
Да, всё правильно.
Точка с запятой последняя лишняя — намекает на существование четвёртого поля. Но работе не мешает.
imported
TriX18.03.2009 17:09
Спасибо. Сегодня ночью оттестирую.
imported
pig18.03.2009 17:53
Как обычно, подводный камень: если далее по тексту есть ещё анализ MAILFROM, то проверяться будет уже Васин email, а не исходный.
imported
TriX30.03.2009 23:30
pig пишет: Как обычно, подводный камень: если далее по тексту есть ещё анализ MAILFROM, то проверяться будет уже Васин email, а не исходный.


Спасибо. Именно так мне и надо. Работает.
imported
Работает на Eserv/5.05567 (10.02.2020)